﻿using Abp.Application.Services.Dto;
using Nest;
using System;
using System.Collections.Generic;
using System.Text;


namespace AbpBuild.WenShu.Dto
{
    public class RecordSearchParamDto
    {
        public RecordSearchParamDto()
        {
            Data = new RecordSearchInputDTO();
        }
        public int skip { get; set; } = 0;
        public int size { get; set; } = 10;
        public string sortorder { get; set; } 
        public int Ascending { get; set; } = 1;
        public bool disableHigh { get; set; } = false;
        public string[] includeFields { get; set; }
        /// <summary>
        /// 是否要统计信息
        /// </summary>
        public bool isagg { get; set; } = true;
        public bool iscache { get; set; } = true;
        public RecordSearchInputDTO Data { get; set; }
       
    }
    public class RecordSearchInputDTO 
    {
        public RecordSearchInputDTO()
        {
            year = new List<string>();
            yearmoth = new List<string>();
            industry = new List<string>(); 
            judgeResults = new List<string>(); 
            peoples = new List<string>(); 
            keywords = new List<string>(); 
            caseReason = new List<string>(); 
            lawLists = new List<relaLaw>(); 
            gongshujiguan = new List<string>(); 
            lvshis = new List<lvmanage>();
            judgeType = new List<string>();
            judgeProcess = new List<string>();
            docType = new List<string>();
            proofs = new List<string>();
            features = new List<string>();
            focuss = new List<string>();
            mainCriminal = new List<string>();
            fuCriminal = new List<string>();
            changeCriminal = new List<string>();
            noxingCriminal = new List<string>();
            criminalLaw = new List<string>();
            statusCriminal = new List<string>();
            disadvantage = new List<string>();
            courtFullName = new List<string>();
            region = new List<string>();
            judger = new List<string>();
            courtLevel = new List<string>();
        }
        /// <summary>
        /// 年
        /// </summary>
        public List<string>? year { get; set; }//年
        /// <summary>
        /// 年月
        /// </summary>
        public List<string>? yearmoth { get; set; }//年yue
        /// <summary>
        /// 行业
        /// </summary>
        public List<string>? industry { get; set; }  //行业
        /// <summary>
        /// 审判持续时间 结束
        /// </summary>
        public long? judgeSprideD { get; set; }
        /// <summary>
        /// 审判持续时间 开始
        /// </summary>
        public long? judgeSprideX { get; set; }
        /// <summary>
        /// 审判结果
        /// </summary>
        public List<string> judgeResults { get; set; }//审判结果: 终结本次执行程序  其他  财产 终结执行  执行完毕  驳回申请  纳入失信被..... 
        /// <summary>
        /// 犯罪金额 结束
        /// </summary>
        public long? crimeMoneyD { get; set; } = 0; //
        /// <summary>
        /// 犯罪金额 开始
        /// </summary>
        public long? crimeMoneyX { get; set; } = 0; //
        /// <summary>
        /// 标的金额  结束
        /// </summary>
        public long? projectMoneyD { get; set; } = 0; //
        /// <summary>
        /// 标的金额  开始
        /// </summary>
        public long? projectMoneyX { get; set; } = 0; //

        /// <summary>
        /// 名称
        /// </summary>
        public string name { get; set; } //名称
        /// <summary>
        /// 案号
        /// </summary>
        public string docCode { get; set; }  //案号
   

        /// <summary>
        /// 是否查询关联案号
        /// </summary>
        public int isdocCodeOthers { get; set; } = 0; //含相关案号

        /// <summary>
        /// 当事人
        /// </summary>
        public List<string>? peoples { get; set; }//当事人
        /// <summary>
        /// 标签
        /// </summary>
        public List<string>? keywords { get; set; }//标签
        /// <summary>
        /// 案由
        /// </summary>
        public List<string>? caseReason { get; set; }//案由
        /// <summary>
        /// 相关法律，手工输入《XXXX》第一百一十五条
        /// </summary>
        public List<relaLaw>? lawLists { get; set; }//相关法律
     
        /// <summary>
        /// 公诉机关
        /// </summary>
        public List<string>? gongshujiguan { get; set; }//公诉机关
        //public List<guanxiren> yuangao { get; set; }//原告
        //public List<guanxiren> beigao { get; set; }//被告
        //public List<guanxiren> di3ren { get; set; }//前审相关人

        /// <summary>
        /// 律师
        /// </summary>
        public List<lvmanage>? lvshis { get; set; }
        //public List<lvmanage> yuangaoLv { get; set; }//原告律师
        //public List<lvmanage> beigaoLv { get; set; }//被告律师
        //public List<lvmanage> di3renLv { get; set; }//前审相关人律师

        /// <summary>
        /// 案件类型  如"民事案件"
        /// </summary>
        public List<string>? judgeType { get; set; }  //类型          s8 : "民事案件"
        /// <summary>
        /// 审判程序    "民事一审"
        /// </summary>
        public List<string>? judgeProcess { get; set; }  //审判流程     s9 : "民事一审"
        /// <summary>
        /// 审判时间 开始
        /// </summary>
        public DateTime? judgeDateS { get; set; }// 开始
        /// <summary>
        /// 审判时间 结束
        /// </summary>
        public DateTime? judgeDateE { get; set; }//结束

        /// <summary>
        /// 文书类型  如 判决书
        /// </summary>
        public List<string>? docType { get; set; }  //民事判决书

        /// <summary>
        /// 证据
        /// </summary>
        public List<string>? proofs { get; set; }  //证据
        /// <summary>
        /// 案件特征
        /// </summary>
        public List<string>? features { get; set; }  //案件特征
        /// <summary>
        /// 争议焦点
        /// </summary>
        public List<string>? focuss { get; set; }  //争议焦点
        /// <summary>
        /// 判多久刑期(月)
        /// </summary>
        public int? prisontermD { get; set; }  //判多久刑期(月)
        /// <summary>
        /// 判多久刑期(月)
        /// </summary>
        public int? prisontermX { get; set; }  //判多久刑期(月)

        /// <summary>
        /// 主刑罚
        /// </summary>
        public List<string>? mainCriminal { get; set; }  //
        /// <summary>
        /// 副刑罚
        /// </summary>
        public List<string> fuCriminal { get; set; }  //
        /// <summary>
        /// 刑法变更
        /// </summary>
        public List<string> changeCriminal { get; set; }  //
        /// <summary>
        /// 不予起诉
        /// </summary>
        public List<string> noxingCriminal { get; set; }  //
        /// <summary>
        /// 罚金 结束
        /// </summary>
        public long? forfeitD { get; set; } = 0; //罚金金额
        /// <summary>
        /// 罚金 开始
        /// </summary>
        public long? forfeitX { get; set; } = 0; //罚金金额

        /// <summary>
        /// 判决刑法
        /// </summary>
        public List<string>? criminalLaw { get; set; }  //判决刑法
        /// <summary>
        /// 量刑理由
        /// </summary>
        public List<string> statusCriminal { get; set; }  //
        /// <summary>
        /// 不利因素
        /// </summary>
        public List<string>? disadvantage { get; set; }  //不利因素
        /// <summary>
        /// 审判法院
        /// </summary>
        public List<string>? courtFullName { get; set; }  // 吉林省延吉市人民法院
        /// <summary>
        /// 地区
        /// </summary>
        public List<string>? region { get; set; }  // 吉林省

        /// <summary>
        /// 审判长
        /// </summary>
        public List<string>? judger { get; set; }
        //public List<string> judgeZ { get; set; }  //审判长
        //public List<string> judges { get; set; }  //审判员
        /// <summary>
        /// 法院层级
        /// </summary>
        public List<string>? courtLevel { get; set; }

        
        /// <summary>
        /// 全文
        /// </summary>
        public string content { get; set; } //
        //public List<string> allstr { get; set; } //相关人str
        //public List<string> allstrother { get; set; } //相关人str  剩余漏的
        //public List<string> judgeStatus { get; set; }  //审理经过
        //public List<string> gongshujiguanSay { get; set; } //公诉机关称
        //public List<string> yuangaoSay { get; set; }  //原告诉称
        //public List<string> beigaoSay { get; set; }  //被告辩称
        //public List<string> otherSay { get; set; }  //前审述称
        //public List<string> beforeJudge { get; set; }  //前审经过
        //public List<string> nowJudge { get; set; }  //本院审理
        //public List<string> courtClaim { get; set; }  //本院认为
        //public List<string> judgeResult { get; set; }  //审判结果
        //public List<string> orignJudgestr { get; set; } //原判主文

    }
}
